- type = impersonation ? "Impersonation" : "Personal Access"
%hr

%h5 Active #{type} Tokens (#{active_tokens.length})
- if impersonation
  %p.profile-settings-content
    To see all the user's personal access tokens you must impersonate them first.

- if active_tokens.present?
  .table-responsive
    %table.table.active-tokens
      %thead
        %tr
          %th Name
          %th Created
          %th Expires
          %th Scopes
          - if impersonation
            %th Token
          %th
      %tbody
        - active_tokens.each do |token|
          %tr
            %td= token.name
            %td= token.created_at.to_date.to_s(:medium)
            %td
              - if token.expires?
                %span{ class: ('text-warning' if token.expires_soon?) }
                  In #{distance_of_time_in_words_to_now(token.expires_at)}
              - else
                %span.token-never-expires-label Never
            %td= token.scopes.present? ? token.scopes.join(", ") : "<no scopes selected>"
            - if impersonation
              %td.token-token-container
                = text_field_tag 'impersonation-token-token', token.token, readonly: true, class: "form-control"
                = clipboard_button(text: token.token)
            - path = impersonation ? revoke_admin_user_impersonation_token_path(token.user, token) : revoke_profile_personal_access_token_path(token)
            %td= link_to "Revoke", path, method: :put, class: "btn btn-danger pull-right", data: { confirm: "Are you sure you want to revoke this #{type} Token? This action cannot be undone." }
- else
  .settings-message.text-center
    This user has no active #{type} Tokens.

%hr

%h5 Inactive #{type} Tokens (#{inactive_tokens.length})
- if inactive_tokens.present?
  .table-responsive
    %table.table.inactive-tokens
      %thead
        %tr
          %th Name
          %th Created
      %tbody
        - inactive_tokens.each do |token|
          %tr
            %td= token.name
            %td= token.created_at.to_date.to_s(:medium)
- else
  .settings-message.text-center
    This user has no inactive #{type} Tokens.
